package Java8实战._2_Stream_使用流._3_查找和匹配;

import Java8实战._2_Stream_使用流.Dish;

import java.util.Arrays;
import java.util.List;
import java.util.Optional;

public class _3_查找元素 {

    public static void main(String[] args) {

        List<Dish> menu = Arrays.asList(
                new Dish("pork",false,800, Dish.Type.MEAT),
                new Dish("beef",false,700, Dish.Type.MEAT),
                new Dish("chicken", false, 400, Dish.Type.MEAT),
                new Dish("french fries", true, 530, Dish.Type.OTHER),
                new Dish("rice", true, 350, Dish.Type.OTHER),
                new Dish("season fruit", true, 120, Dish.Type.OTHER),
                new Dish("pizza", true, 550, Dish.Type.OTHER),
                new Dish("prawns", false, 300, Dish.Type.FISH),
                new Dish("salmon", false, 450, Dish.Type.FISH)
        );

        Optional<Dish> optional = menu.stream()
                .filter(Dish::isVegetarian)
                .findAny();


        if (optional.isPresent()){
            Dish dish = optional.get();
            System.out.println("菜品名称：" + dish.getName() + "，是否是素菜：" + dish.isVegetarian());
        }

        System.out.println("\n==========================================\n");

        menu.stream()
                .filter(Dish::isVegetarian)
                .findAny()
                .ifPresent(d -> System.out.println("菜品名称：" + d.getName() + "，是否为素菜：" + d.isVegetarian()));
    }
}
